Method for the determination of a maximum or a minimum

ABSTRACT

The invention, which relates to a method for ascertaining a maximum or a minimum from a set of comparative values in a communication receiver, is based on the object of specifying a method for ascertaining the maximum or minimum in which, following a comparison operation, the result comprises the maximum or minimum itself and/or the associated index. The invention achieves the object in that following ascertainment of a maximum or minimum the index is used to output the symbol which gives rise to the maximum or minimum from the character set.

The invention relates to a method for ascertaining a maximum or aminimum from a set of comparative values in a communication receiver, inthe field of spread spectrum technology, in which received symbols codedusing spread spectrum technology are decoded from a received signal andare compared with the character set in the receiver and comparativevalues are produced as the result of each comparison, each comparativevalue being assigned an index by producing, for each comparative value,a comparative word which comprises the comparative value and anassociated index and subsequently ascertaining the maximum or minimumfrom the set of comparative words.

Extreme values for numbers, i.e. a maximum or minimum in a set ofnumerical values, can basically be ascertained at two different levels.

First, they may be ascertained using hardware, with a circuitarrangement designed specifically for this purpose, as illustrated in JP4123128 AA.

This circuit arrangement simultaneously ascertains the maximum and theminimum in a set of comparative values comprising eight elements. Inthis arrangement, two comparative values are supplied to each of thechangeover switches arranged in parallel with one another at a firstlevel. The result of the comparison operation is that the respectivelarger of the comparative values is present at the maximum output of thechangeover switches and the respective smaller of the comparative valuesis present at the minimum output. In line with the connections shown,these first-level output variables are input variables for thechangeover switches shown at the second level. In this respect, thisarrangement is a cascade comprising a plurality of changeover switches.

At the second level too, each changeover switch compares the two inputvalues applied and forwards the results to a third stage as appropriate,with just the minimum or the maximum now being forwarded to the inputsof the subsequent two third-level changeover switches, depending on thechangeover switch.

First the maximum value and secondly the minimum value can be tapped offat the outputs of the third stage.

The second way of ascertaining the maximum or the minimum isimplementation using software. In this case, comparison and/or sortingalgorithms are used which are matched to the respective hardware.

One method in this group is implemented in the manner below, forexample. The first two comparative values from the set of comparativevalues are entered into two input registers in a processing unit. Theprocessing unit compares the two values. When a maximum is ascertained,the larger value is then located in an output register. The twocomparative values are then entered in order of magnitude into an ordertable.

In a subsequent step, the value from the output register described aboveis entered into the first input register in the processing unit. Thethird value awaiting comparison is then written to the second inputregister. In the subsequent comparison between the two values by theprocessing unit, the ratio of the third comparative value to the maximumvalue ascertained hitherto is established.

If the third comparative value has been ascertained as the new maximum,the comparative values already entered into the order table are shiftedone position backward and the third comparative value is entered intothe first table position.

If the third comparative value is smaller than the maximum ascertainedhitherto, then a further comparison step needs to be used to examine theratio of the third comparative value to the second value entered in theorder table.

If the result of the comparison establishes that the third comparativevalue is larger, then the second value entered in the table, andpossibly succeeding values, must be shifted backward and the thirdcomparative value must be entered at the table position which is nowfree.

If the comparison yields the result that the third comparative value issmaller, then the value is entered at the third table position if novalue has been entered at this position yet. If there is an entry atthis table position, then the value which is to be entered needs to becompared again with the value which has been entered, and an actionresulting from the result of the comparison is necessary.

Once this comparison is complete, the current maximum is loaded into thefirst input register and the fourth comparative value is loaded into thesecond input register, and the comparison and sorting operation startsagain as described above.

The method is more complex in comparison with formation of a puremaximum value or minimum value, since besides the maximum or minimum allother comparative values also need to remain within the order table in acontinual access operation.

This method may be referred to as a serial method in which thecomparison and sorting complexity increases to an ever greater extent asthe number of comparative values rises. The comparison in such a methodis often implemented using “If-Then-Else” steps. This requisite order ofsteps makes the information processing on contemporary signal processesextraordinarily inefficient.

Another method implemented using software is known from DE 198 35 216 A1, for example, as a method for a processor arrangement with parallelprocessing units.

In this method, the input registers in all of the processing unitsarranged in parallel have a first pair of comparative values written tothem. In the subsequent comparison operation in the processing units,the respective larger of the two comparative values during determinationof a maximum, for example, is written to an output register.

The comparison results from the first comparison are combined into pairsof comparative values again and are entered into the input registers inthe processing units, the number of processing units necessary for thissecond comparison step having been halved.

In a subsequent operation, the maximum for the two comparative values isagain determined and entered into the respective output register.

In this case, the number of comparative values is halved for eachcomparison operation, that is to say that the comparison operation needsto be constantly repeated, as described above, until the definitivemaximum has been ascertained. Thus, in the case of an arrangement witheight parallel processing units and sixteen comparative values, forexample, four successive comparison operations are needed in order toascertain the result.

In the case of receivers for transmission methods which are based onspread spectrum technology (e.g. wireless LAN, CDMA, UMTS/3GPP),demodulation generally first involves correlation of the received signalwith known sequences and then determination of the maximum of thecorrelation. In this context, what is of interest is not so much thevalue of the maximum, but rather the position or the index, because thiscan be used to determine the most suitable sequence and hence thetransmitted information.

All of the methods illustrated involve the output of a maximum orminimum as the result. The index for the maximum or minimum is notavailable when the comparison method is complete, however.

U.S. Pat. No. 5,752,072 publishes the method for a sorting scheme whichrequires no comparison or step instructions during program execution andis particularly suitable for computers having a plurality of parallelfunctional units.

Two numbers or two binary character strings are sorted using arithmeticinstructions instead of comparison and/or step instructions. Thisresults in an improvement in the performance of a superscalar processorprocessing VLIWs.

In addition, when a reduced instruction set in an RISC processor isused, the sorting scheme supports better utilization of floating pointarithmetic. The sorting scheme permits floating point representation ofdata and floating point instructions for sorting binary characterstrings.

In line with claim 1, the intermediate results e and f are formed in afirst step in order to determine a maximum/minimum for two numbers a andb.

The intermediate results e and f are subsequently supplied to anaddition and a subtraction operation which involves the resultsrespectively being halved. The result of the addition operation thusindicates the maximum value of the two numbers a and b which are to becompared, and the result of the subtraction operation delivers theminimum value from the comparison.

If it is desirable to process the index for the binary character stringsin the sorting method at the same time, then the index can be packedinto the floating point word which is to be processed. The scheme usedto do so is shown in FIG. 4.

The range of the “i1 bits” is used to map the index information. Themore significant range of the “51-i1 bits” is used to store the binarycharacter string to be sorted. The last bit is set to zero, as explainedin the descriptive part further above.

Since the index information is mapped in the less significant part ofthe floating point word, the actual sorting process is not affectedthereby. On the other hand, however, the case of equality of thecharacter strings to be sorted is ruled out, since these differ at leastby virtue of the added index information. It is thus also possible toascertain the index for the maximum/minimum after the sorting operationis complete.

If the binary character strings match, the result of the sortingoperation is determined by the index values. The floating point wordhaving the lower index is assigned to “c” and represents the minimum,while the floating point word having the higher index is assigned to “d”and hence to the maximum. Such an order principle is desirable for thecase of equality of the character strings.

Although this method ascertains the maximum or minimum taking intoaccount the associated index for the comparative value, it still doesnot permit any inference regarding a received symbol.

The invention is thus based on the object of specifying a method forascertaining the maximum or minimum from a set of comparative values ina communication receiver in which after the comparison operation hasbeen performed the result comprises the maximum or minimum itself and/orthe associated index, and hence a received symbol is ascertained.

The invention achieves the object by virtue of a first step involvingeach comparative value being assigned an index by producing, for eachcomparative value, a comparative word x_((k)) which comprises thecomparative value and an associated index and ascertaining the maximumor minimum from the set of comparative words x_((k)) and then outputtingat least the index associated with the maximum or minimum.

If only the comparative values are supplied to a comparison stage orcomparison operation, as occurs in the prior art, then although theresult contains the maximum or minimum from the comparison it does notcontain any indication of the original position or the index of thecomparative value. In order to be able to indicate this index, it needsto be taken along by the various comparison stages or comparisonoperations without influencing the actual comparison. When the maximumor minimum has been determined, the index can be separated from thecomparative value again.

In order to couple the index to the comparative value, the inventioninvolves the formation of a comparative word comprising two parts. Onepart of this word contains the comparative value itself and another partcontains the associated index.

In one beneficial form of the method, the comparative word x_((k)) isformed in binary representation according to the rulex_((k))=2^(m)*C_((k))+k, where c_((k)) are comparative values, k is theindex for the comparative value, n is the number of comparative values,m is the number of places for the shift, and the relationship 2^(m)≧nholds true.

One specific form of representation of the comparative word is thebinary form, which is suitable for describing the data processing at theprocessor level. The comparative word is made up of two components. Themore significant part of the comparative word contains the comparativevalue, and the less significant part contains the associated index. Inthis case, the number of bit places which is required for each part canbe matched to the set of comparative values, to the accuracy of thecomparison value and to the processing width of the processor system.The comparative word x_((k)) is formed in line with the equation byshifting the comparative word a stipulated number of bit places m to theleft in a first step. The first summand in the equation is responsiblefor this operation. In a second step, the index for the comparativevalue is then added, likewise in a binary form.

In one beneficial embodiment of the method, as the result of thecomparison operation with all of the comparative words formed, the indexfor the maximum or minimum is contained in the lower m bits of thecomparative word x_((k)) and is read out.

The index for a comparative value is contained in the lower m bits afterthe comparative word x_((k)) has been formed. This position of the indexis not adversely affected by a comparison method, which means that afterthe maximum or minimum has been determined the lower m bits can beseparated from the comparative word x_((k)) and can be output as theresult.

In another beneficial form of the method, the maximum or minimum isascertained from a sorted sequence of all the indicated comparativevalues.

A software-based sorting method described in the prior art can be usedto enter the indicated comparative values into an order table inincreasing or decreasing order. This table outputs the first or lastcomparative word, that is to say the indicated maximum or minimum.

In another beneficial embodiment of the method, the sorted sequence isoutput.

Besides the output of the indicated maximum or minimum, it is alsopossible to output a particular number of comparative words from theorder table. In this case, it is also possible to output just thecomparative value or just the index instead of the comparative word.

The invention will be explained in more detail below with reference toan exemplary embodiment. The associated drawing shows the formation ofthe comparative word in individual stages.

In a previous process, a received symbol was compared in a receiverstage, operating using spread spectrum technology (e.g. A RAKEreceiver), with all of the possible symbols from a character set. Thiscomparison produced “correlation or comparison values” as output valuesfrom the RAKE receiver. Following this check for a match, the maximumvalue in the correlation needed to be determined, since this valuerepresents the greatest match with the received symbol and permits thereceived symbol itself to be inferred.

To this end, the comparative word 3 is formed from a comparative value 1and the associated index 2. In a first step, the binary comparativevalue c_((k)) 1 (FIG. 1 a) is shifted m bits to the left, where m isdefined by the number of bit places which is required for the index 2and will be four in the example. When the shift operation has takenplace, the temporary comparative word 3 shown in figure 1 b is produced.

In the next step, the associated (in the example, four-place) binaryindex 2 is added to the previous comparative word 3 in line with thestructural equation in subclaim three. For the structural example, theindex has the value 3 (0011 in binary). Since the four least significantbit places are all zero, the addition may also be regarded as simpleinsertion of the index 2 into these bit places.

This produces the comparative word 3. The subsequent comparison is notaffected by the addition of the index 2 to the least significant bitplaces, since the comparative value 1 contained in the more significantbit places determines the result of the comparison operation on accountof the greater significance of these bit places.

The comparison operation itself can be performed, by way of example,using a processor arrangement which contains eight processing units inparallel. Each processing unit has two input registers to which a totalof sixteen comparative words 3 are written. In a subsequent comparisonstep, each processing unit determines the maximum for the applied pairof comparative words and enters the larger comparative word 3 into anoutput register. Following this comparison step, the number ofcomparative words 3 which are suitable for the maximum has been halved.In a subsequent step, pairs of comparative words are formed from theeight intermediate maxima again and are written to the input registersin the processing units again. For the comparison operation whichfollows, only four processing units are now required. The result yieldsthe larger comparative word 3 in the pair, which is in turn written tothe output register. These comparison operations are performed until thefinal maximum has been established.

When the comparison operations are complete, the maximum for thecomparative values 1 is defined in a representation of a comparativeword 3. The four least significant bit places are read from thecomparative word 3 and are transferred as index 2 for the subsequentsequence or information determination in the receiver.

List of reference numerals

-   1 Comparative value c_((k))-   2 Index for the comparative value c_((k))-   3 Comparative word x_((k))

1. A method for ascertaining a maximum or a minimum from a set ofcomparative values in a communication receiver, in the field of spreadspectrum technology, in which received symbols coded using spreadspectrum technology are decoded from a received signal and are comparedwith the character set in the receiver and comparative values areproduced as the result of each comparison, each comparative value (1)being assigned an index (2) by producing, for each comparative value, acomparative word x_((k)) (3) which comprises the comparative value (1)and an associated index (2) and subsequently ascertaining the maximum orminimum from the set of comparative words x_((k)) (3), characterized inthat following ascertainment of a maximum or minimum the index (2) isused to output the symbol which gives rise to the maximum or minimumfrom the character set.
 2. The method as claimed in claim 1,characterized in that the comparative word x_((k)) (3) is formed inbinary representation according to the rule x_((k))=2^(m)*C_((k))+k,where c_((k)) are comparative values (1), k is the index (2) for thecomparative value (1), n is the number of comparative values (1), m isthe number of places for the shift, and the relationship 2^(m)≧n holdstrue.
 3. The method as claimed in claim 1 or 2, characterized in that,as the result of the comparison operation with all of the comparativewords (3) formed, the index (2) for the maximum or minimum is containedin the lower m bits of the comparative word x_((k)) (3) and is read out.4. The method as claimed in claim 1 or 2, characterized in that themaximum or minimum is ascertained from a sorted sequence comprising allof the indicated comparative values.
 5. The method as claimed in claim4, characterized in that the sorted sequence is output.